//===========采购清单 js


/**
 * 打开对话框,按钮的id 设置为 xxx_Modalx 如: Buttons_Modal1
 */
function openModal(evt) {
    debugger;
    var modalId = evt.node.id.split("_")[1];
    h3ui.widgets[modalId].props.visible = true;
}

/**
 * 关闭对话框
 */
function closeModal(evt) {
    var modalId = evt.node.id.split("_")[1];
    h3ui.widgets[modalId].props.visible = false;
}

// ============公共方法=======


//触发列表刷新事件
function reloadList(fromListId) {
    doReloadList({pageIndex: 1, node: {id: fromListId}});
}

//标签页切换 刷新列表, 要求 标签页id 是 "xxx"+"_"+listid
function tabLoadList(evt) {
    doReloadList({node: {id: evt.data.activeKey.split("_")[1]}});
}

//列表刷新
function doReloadList(evt) {
    var list = h3ui.widgets[evt.node.id];

    var queryId = list.childIds.find(a => a.includes("ModelQueryForm"));

    var filter = h3ui.widgets[queryId].props.value || {};

    var pageId = list.childIds.find(a => a.includes("Pagination"));

    var pageIndex = h3ui.widgets[pageId].props.current;
    var pageSize = h3ui.widgets[pageId].props.pageSize;


    list.emit("load", {pageIndex, pageSize, filter});

    list.props.selectedRowKeys = [];
}

/** *
 * @param {serviceName,param,reloadListId,closeModalId} map
 *
 * serviceName 服务名称
 * param  服务参数
 * reloadListId 服务成功后指定刷新列表
 * closeModalId 服务成功后指定关闭对话框
 */
function callService(map) {
    h3ui.services[map.serviceName](map.param).then(res => {
        if (res.success) {
            h3ui.$message.success('提交成功');

            if (map.reloadListId) {
                reloadList(map.reloadListId);
            }

            if (map.closeModalId) {
                map.closeModalId.split(",").forEach(a => {
                    if (a) h3ui.widgets[a].props.visible = false;
                })
            }
        } else {
            h3ui.$message.error(res.errMessage || '提交失败');
        }
    })
}

/**
 *  跳转表单页面并url携带参数
 */
function toModePage(pageCode, param) {
    // 获取页面url地址
    let url = window.location.href.substring(0, window.location.href.indexOf('?'));

    var paramstr = Object.keys(param).map(a => {
        return "&".concat(a).concat("=").concat(param[a])
    }).join("");

    // 跳转创建页面
    window.location.href = url + '?mode=detail&pageCode=' + pageCode + paramstr;

}


//列表列点击事件
function listAction(evt) {
    console.log(evt);
    if (evt.data.action == "采购数量") {

        if (evt.data.row.goods_src == 3) {
            h3ui.$message.error("单次购买不能调整采购数量");
            return false;
        }

        openModifyNumModal(evt);
    }
}

//打开修改数量对话框
function openModifyNumModal(evt) {

    var modalId = "Modal1";

    var inputNum = "InputNum";
    //打开对话框
    h3ui.widgets[modalId].props.visible = true;

    //修改数量
    h3ui.widgets[inputNum].props.value = null;
    h3ui.widgets[inputNum].props.rowId = null;
    h3ui.widgets[inputNum].props.value = evt.data.row.quantity;
    h3ui.widgets[inputNum].props.rowId = evt.data.row.id;
}

//调用修改数量
function toUpdateNum(evt) {
    var inputNum = "InputNum";
    var closeModalId = evt.node.id;
    var reloadListId = "FormList3";
    var serviceName = "toUpdateNum";
    var num = h3ui.widgets[inputNum].props.value.toString() || 0;

    var id = h3ui.widgets[inputNum].props.rowId;
    var param = {id, num};
    callService({serviceName, param, reloadListId, closeModalId});
}


/**
 * 跳转到生成订单页面
 */
function toOrder(evt) {
    console.log(123123);
    var ids = h3ui.widgets["FormList3"].props.selectedRowKeys;

    if (ids.length < 1) {
        h3ui.$message.error("请勾选一列");
        return false;
    }


    var mode = "detail";
    var ids = ids.join(",");


    h3ui.openPage('innerLink', 'toOrder', 'self', {ids, mode});

    // toModePage(pageCode,param);
}

